U.S. Pat. Nos. 7,240,228 and 7,221,331 are generally directed towards the concept of computer systems having auxiliary processing and auxiliary mechanisms that provide some auxiliary computing functionality. For example, a small LCD on the lid or side of a laptop computer can provide its owner with useful information, such as a meeting location and time, even when the main computer display is not easily visible, e.g., when a laptop computer's lid is closed and/or the main computer is powered down. Controls such as buttons may be provided to allow the user to interact with the auxiliary device to view different types of data, such as to scroll through appointments among calendar data, read email messages, read directions, and so forth.
Somewhat similar to an auxiliary LCD screen built into a mobile host computer, a mobile telephone, a music playing device, a pocket-sized personal computer, a personal digital assistant and so forth can serve as an auxiliary device to a main computer when connected to it physically and/or via a wireless (e.g., Bluetooth or infrared) link, as long as the device is programmed to allow its display and/or other functionality to be leveraged by the main computer. In general, any device with I/O capabilities that can interface in virtually any way with a computer system can potentially serve as an auxiliary computing device.
However, there are many varieties of devices that can serve as an auxiliary display for a computer system. As a result, there are many ways to configure such a device internally. This creates a difficulty for device manufacturers (sometimes referred to as independent hardware vendors, or IHVs), in that users will want their device to serve as an auxiliary display, however the manufacturer needs to be able to have the device perform its desired functionality. Thus the device will need to be designed differently whether it is primarily an audio player, a GPS (global positioning system) receiver, a telephone, a digital picture frame, and so on. Heretofore, the only way to be able to customize hardware in the system yet still use the device as a full-featured auxiliary display was for the manufacturer to write very large amounts of code to integrate their hardware with other existing firmware that contained auxiliary display functionality. What is needed is a computing architecture that lets a device work as a full-featured auxiliary display when appropriate, yet is extensible so that a manufacturer is able to add desired functionality, as well as to innovate and differentiate its devices from other manufacturer's devices.